<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>删除链表节点</title>
</head>
<body>
  <script>
    // 递归
    function fn(head, val) {
      // 递归的终止条件：head 等于空的时候，直接返回 head，因为一个空的链表是没法删除的
      if (head === null) return head;
      // head 结点的值等于 val，直接返回 head 结点的下一个结点，相当于删除了当前节点
      if (head.val === val) return head.next;
      // 递归调用判断下一个节点是否等于 val
      head.next = fn(head.next, val);
      return head;
    }
    console.log(fn([4, 5, 1, 9], 5))
  </script>
</body>
</html>